home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / Tools / RSM31D / modules / unilay / unilay.txt < prev   
Encoding:
Text File  |  1999-02-09  |  5.3 KB  |  150 lines

  1. Universal Overlay v1.1
  2. ----------------------
  3.  
  4. Armin Diedering
  5. letzte Änderung: 9.2.1999
  6. Tabulatorweite: 3
  7.  
  8.  
  9. 1. Was ist UniLay ?
  10. ===================
  11.  
  12. UniLay ist ein Overlay für ResourceMaster ab Version 3.0. Mit Overlays ist 
  13. es möglich, schon im Editor userdefinierte Objekte darzustellen.
  14. UniLay verwendet dabei die ResourceMaster-eigenen Userdef-Objekte, die der 
  15. ResourceMaster verwendet, wenn keine MagiC-Sonder-Typen verfügbar sind. Das 
  16. hat den Vortei, daß das Overlay mit seinen 2-3 kByte sehr klein ausfällt. 
  17. Nachteilig ist es, daß die Objekte im Editor nicht ganz so dargestellt 
  18. werden, wie sie später im Programm aussehen werden. Immerhin ist aber schon 
  19. ein grober Eindruck möglich.
  20.  
  21.  
  22. 2. Installation
  23. ===============
  24.  
  25. Einfach die Dateien "rsm.ovl" und "unilay.cnf" in den RSM-"modules"-Ordner 
  26. kopieren.
  27.  
  28.  
  29. 3. Welch Objekte werden unterstützt ?
  30. =====================================
  31.  
  32. UniLay bzw. der ResourceMaster unterstützt derzeit 7 Sonder-Objekte
  33.  
  34. - RSM_MOVEBUTTON        Das bekannte Eselsohr um mit Dialoge zu fliegen.
  35. - RSM_BUTTON            Ein Button mit einem unterstrichenen Buchstaben.
  36. - RSM_CHECKBUTTON        Ein Ankreuzbutten mit/ohne unterstrichenen Buchstabe.
  37. - RSM_RADIOBUTTON        Ein Radiobutten mit/ohne unterstrichenen Buchstabe.
  38. - RSM_UNDERLINED        Ein unterstrichener String.
  39. - RSM_GROUPBOX            Ein Gruppenrahmen.
  40. - RSM_NICELINE            Eine Niceline für Menüs.
  41.  
  42. Abgesehen von RSM_MOVEBUTTON kommen die Sonder-Objekte nur zum Einsatz, wenn 
  43. es sich um G_STRING-, G_BUTTON- oder G_TITLE-Objekte handelt. 
  44.  
  45. Bei RSM_BUTTON, RSM_CHECKBUTTON und RSM_RADIOBUTTON wird der unterstrichenen 
  46. Buchstabe durch eine eckige Klammer im Buttontext gekennzeichnet. Oder aber 
  47. auch MagiC-like durch das Setzen von Whitebak. Die Position wird dann durch 
  48. die Bits 8-11 von ob_states bestimmt.
  49. Die MagiC-Methode hat Vorrang.
  50.  
  51.  
  52. 4. Wie Konfiguriere ich UniLay ?
  53. ================================
  54.  
  55. UniLay läd bei der Initialisierung die Datei "unilay.cnf". In dieser 
  56. CNF-Datei wird festgelegt, für welche Objekte das Overlay aktiv werden soll.
  57.  
  58. Die Datei muß mit folgender Zeile eingeleitet werden!
  59.  
  60. ------------Schnipp-----------
  61. #[xxxx]
  62. ------------Schnapp-----------
  63.  
  64. Damit wird die ID des Overlays festgelegt ("xxxx" steht dabei für 4 
  65. beliebige Zeichen). Wer verschiedene CNF-Dateien verwenden will (oder muß), 
  66. sollte für jede CNF eine ID vergeben. Da die ID des Overlays auch in der 
  67. *.rsm-Datei gespeichert wird, aktiviert RSM das Overlay nur dann, wenn die 
  68. IDs übereinstimmen.
  69. Um Konflikte mit öffentlichen Overlays zu vermeiden, sollten private IDs mit 
  70. einem '_' beginnen z.B. so "#[_AO1]" (Armins Overlay Nr.1).
  71.  
  72. Dann kommen die Objekt-Zeilen.
  73. Jede gültige Objekt-Zeile hat folgenden Aufbau:
  74.  
  75. ------------Schnipp-----------
  76. #00 0000 0000 0000 0000 0000 0000    Kommentar
  77. ------------Schnapp-----------
  78.  
  79. Also sie wird immer mit einem Doppelkreuz (am Anfang der Zeile) eingeleitet. 
  80. Dem Doppelkreuz folgen 7 hexadezimal codierte und durch Leerzeichen 
  81. getrennte Zahlen. Dabei ist die Erste immer zweistellig und der Rest 
  82. vierstellig. Ein optionaler Kommentar muß durch Leerzeichen oder TABs von 
  83. der letzten Zahl getrennt sein.
  84.  
  85. Die Erste Zahl bestimmt die Sonder-Objekt-Nummer. Dabei gilt:
  86.     0 -> NICHTS_ZEICHNEN
  87.     2 -> RSM_MOVEBUTTON
  88.     3 -> RSM_BUTTON
  89.     4 -> RSM_CHECKBUTTON
  90.     5 -> RSM_RADIOBUTTON
  91.     6 -> RSM_UNDERLINED
  92.     7 -> RSM_GROUPBOX
  93.     8 -> RSM_NICELINE
  94.  
  95. Die folgenden 6 Zahlen sind in 3 Paare aufgeteilt. Jedes Zahlenpaar enthält 
  96. eine Maske und einen Vergleichswert. Diese Zahlenpaare gelten jeweils für 
  97. die OBJECT-Komponenten Typ, Flags und States.
  98.  
  99. Beispiel: 
  100. ---------
  101. 1. Das Overlay soll die Darstellung eins RSM_CHECKBUTTON übernehmen wenn:
  102.     - der Erweiterte Typ = 22 (hex 16)
  103.     - der Objekttyp = G_STRING (28 bzw. hex 1c)
  104.  
  105.     #03 ffff 161c 0000 0000 0000 0000
  106.    --- ---- ---- -------------------
  107.     |   |     |           |
  108.     |   |     |          Flags und States spielen keine Rolle
  109.     |   |    Erw.Typ=22 und Typ=G_STRING?
  110.     |  alle bits von ob_type beachten
  111.    RSM_CHECKBUTTON 
  112.  
  113. 2. Da nur ein Checkbutton gezeichnet werden soll, wenn das EXIT-Flag nicht 
  114.    gesetzt ist, brauchen wir noch eine Zweite Zeile.
  115.    
  116.    #00 ffff 161c 0004 0004 0000 0000
  117.    ---           ---- ----
  118.     |             |     |
  119.     |             |    ist EXIT gesetzt?
  120.     |            nur das EXIT-Flag auswerten
  121.    NICHTS_ZEICHNEN
  122.    
  123.    Diese Zeile muß unbedingt vor der RSM_CHECKBUTTON-Zeile stehen.
  124.  
  125. 3. Ein RSM_RADIOBUTTON soll bei den gleichen Bedingungen wie oben gezeichnet 
  126.     werden, wenn das RADIO-Flag gesetzt ist.
  127.     
  128.    #04 ffff 161c 0010 0010 0000 0000
  129.    ---           ---- ----
  130.     |             |     |
  131.     |             |    ist RADIO gesetzt?
  132.     |            nur das RADIO-Flag auswerten
  133.    RSM_RADIOBUTTON
  134.    
  135.    Auch Diese Zeile muß vor der RSM_CHECKBUTTON-Zeile aber nach der 
  136.    NICHTS_ZEICHNEN-Zeile stehen.
  137.     
  138. 4. Um es zusammen zu fassen: 
  139.     - der Erweiterte Typ = 22 (hex 16)
  140.     - der Objekttyp = G_STRING (28 bzw. hex 1c)
  141.     - wenn EXIT-Flag soll nix gezeichnet werden
  142.     - wenn RADIO-Flag dann RSM_RADIOBUTTON sonst RSM_CHECKBUTTON
  143.     
  144.     ------------Schnipp-----------
  145.    #00 ffff 161c 0004 0004 0000 0000    Wenn Exit nix Zeichnen
  146.    #04 ffff 161c 0010 0010 0000 0000    Wenn RADIO -> RSM_RADIOBUTTON
  147.     #03 ffff 161c 0000 0000 0000 0000    Wenn kein EXIT und auch kein RADIO 
  148.                                                     dann RSM_CHECKBUTTON
  149.     ------------Schnapp-----------
  150.